Skip to content

Conversation

@adri09070
Copy link
Contributor

Partially fixes #24

The "only" thing left to do is to be able to switch from optimized code in bytecode to non optimized code in DAST (and vice-versa)

adri09070 and others added 30 commits August 18, 2022 16:17
updating ASTInterpreter and ASTPostOrderTreeVisitor according to new AST visitor API
removing deprecated spec-debugger dependency + adding espell dependen…
…same result when resumed. It works but raises an exception "CannotReturn" afterwards and I don't know why
…k context itself.

Just like with DASTMethodContext, it works but it raises a Context>>#cannotReturn:
Co-Authored-By: Steven Costiou <26929529+StevenCostiou@users.noreply.github.com>
- the stack remains the same
- current node is last executed node
- dast context chain is correct (the root is at the right place): this test is not green for now
- adding bc -> DAST interpreter switch test about being able to find bindings of variables inside closures that are defined in a context outside of these closures but that doesn't have an equivalent DAST context
- skipping the test about receivers remaining the same before and after switch, because I'm not sure of what should be the receiver of a DASTBlockContext
…s (stack unchanged, receiver state unchanged, correct stepping, termination of process, running process with new context...)

The test that checks bindings recursively and stack recursively are yellow for now
better temp gestion in DASTBlockContext + better creation of FullBlockClosure in DASTBlock

Vectors of temps need to be handled for DAST -> bc switch

mapping indexes to right temps
Handling vectors of temps for DAST -> bc and bc -> DAST switches + tests
…n-DAST-and-bytecode-interpreters

merging temp vectors handling to the experimental branch
…ion so that it becomes an exception that is only used to open a DASTDebugger
@adri09070 adri09070 closed this Jun 16, 2023
@adri09070 adri09070 reopened this Jun 16, 2023
@adri09070
Copy link
Contributor Author

Looks like I forgot to commit an extension method there

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

We need an equivalence between DAST and bytecode interpreters

1 participant